repos:
    - repo: https://github.com/charliermarsh/ruff-pre-commit
      rev: "v0.3.0"
      hooks:
          - id: ruff-format
          - id: ruff
            args: [--fix]
    - repo: local
      hooks:
          - id: clean-notebooks
            name: clean-notebooks
            files: \.ipynb$
            exclude: ^tutorials/evals/.*\.ipynb$
            stages: [commit]
            language: system
            entry: jupyter nbconvert --ClearOutputPreprocessor.enabled=True --ClearMetadataPreprocessor.enabled=True --inplace
    - repo: local
      hooks:
          - id: format-notebooks
            name: format-notebooks
            files: \.ipynb$
            stages: [commit]
            language: system
            entry: nbqa ruff --fix --ignore=E402 --ignore=E501 --ignore=F704
    - repo: https://github.com/pre-commit/mirrors-prettier
      rev: "6f3cb139ef36133b6f903b97facc57b07cef57c9"
      hooks:
          - id: prettier
            files: \.(jsx?|tsx?|css|.md)$
            exclude: \.*__generated__.*$
            additional_dependencies:
                - prettier@3.2.4
    - repo: https://github.com/pre-commit/mirrors-eslint
      rev: "8ddcbd412c0b348841f0f82c837702f432539652"
      hooks:
          - id: eslint
            additional_dependencies:
                - eslint@8.31.0
                - eslint-plugin-react@7.31.11
                - eslint-plugin-react-hooks@4.6.0
                - eslint-plugin-simple-import-sort@10.0.0
